1. Field of the Invention
The present invention is directed to color calibration and color enhancement for digital imaging systems in which interactive mapping of colors in one color space to colors in another color space is performed and, more particularly, to a system in which constraints to the mapping process are supplied by a user via an interactive system used to specify a partial color mapping for some subset of the colors.
2. Description of the Related Art
In many applications, it is necessary to take color image data which exists in a color space for one specific device and map it onto a color space for a different device. Because of the differences in the color spaces and the color gamuts of the various devices, several problems arise in this process. The first is color calibration which involves how to specify the color on one device so that the perceived color matches that of another device. For example, an image displayed on a video monitor needs to be printed with the same perceived color reproduction. This problem is essentially one of transforming from one device dependent color space to another. For example, this would involve transforming from the monitor RGB space to the printer CMY(K) space. If all of the colors in the image fall within both color gamuts, then this transformation is straightforward and can be accomplished with multi-dimensional look-up-tables (see W. F. Schreiber, Color Reproduction System, U.S. Pat. No. 4,500,919 (Feb. 19, 1985)).
When some of the colors in the input color space fall outside of the gamut of the output color space the problem is more complicated. Now the question becomes what to do with the out-of-gamut colors. Several methods to handle this problem have been proposed. Common approaches maintain the hue angle and lightness for the out-of-gamut colors and clip the saturation to the gamut boundary, or they compress the gamut so that the input color gamut fits within the output color gamut (see R. S. Gentile et al.,"A comparison of techniques for color gamut mismatch compensation", J. Imaging Technol. 16, 176-181 (1990)). For many kinds of images, such as photographic scenes, where very few out-of-gamut colors will occur, saturation clipping approach may yield acceptable results. However, for other types of images, such as computer generated presentation graphics, a large percentage of the colors may be outside the gamut, since saturated colors hold great appeal for many kinds of graphics such as pie charts, or text slides. Using an approach which clips the saturation or compresses the gamut may yield quite unacceptable results since the resulting images will be noticeably lower in saturation. The colors appear more pastel and have less "snap". As a result, different techniques are needed to map the input color gamut into the output color space. This involves modifying the colors in the image rather than matching the colors from one device to another, which is referred to as "color enhancement".
A principle reason for the mismatch in gamut shapes for different devices is related to the difference in the primaries of the devices (i.e., the "blue" primary of the printer, which is created by combining cyan and magenta colorants, may differ in lightness, saturation, and even hue from the blue phosphor of the monitor). In many color enhancement approaches, specifying a mapping, which computes the amount of the colorants for the second device by a function of the corresponding colorants of the first device and which will achieve the desired effect on the primaries without having undesirable side effects on other colors, can be quite difficult or even impossible. For example, skin tones might end up turning greenish. A more robust approach defines some multi-dimensional color-mapping to transform the coordinates of the input space into the output space. This provides "knobs" to adjust the appearance of certain colors and/or control the amount of correction applied.
For some applications, other forms of color enhancement may also be desirable. For example, one might want to boost the saturation of a hazy image, adjust the hue of an object in the image, or increase the color contrast between different objects in the image. Such enhancement methods suffer from the same problems which were described above. In particular, it is difficult to modify some subset of the color gamut without having undesirable side effects on the rest of the color space (See "Method for cross-device color calibration and enhancement using explicit constraints" previously mentioned).
It is also desirable to allow for the explicit mapping of certain colors to be performed manually by users. Consider when certain corporate trademarks or logos have to maintain their colors, or when a product to be depicted in a print should have a certain color to it, i.e., chocolate should have a specific shade of brown. In such a situation the mapping process from input color values to output color values needs to have an interactive means which will enable user-selected color values to map to the user-selected output color values.